/*******************************************************************************
* Signavio Core Components
* Copyright (C) 2012 Signavio GmbH
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
******************************************************************************/
package de.hpi.bpmn2_0.util;
import de.hpi.bpmn2_0.factory.configuration.Configuration;
public class SignavioIDChecker {
private static boolean isValidID(String id) {
if(id == null) {
return false;
}
boolean testRes = true;
testRes = testRes && id.length() <= 250;
testRes = testRes && id.matches("^\\D(.)*");
return testRes;
// !bpmnEl.getId().matches("sid-\\w{4,12}-\\w{4,12}-\\w{4,12}-\\w{4,12}-\\w{4,12}")s
}
public static boolean isValidID(String id, Configuration conf) {
boolean result = true;
if(conf != null && conf.ensureSignavioStyle && id != null) {
result = id.matches("sid-\\w{4,12}-\\w{4,12}-\\w{4,12}-\\w{4,12}-\\w{4,12}");
}
return result && isValidID(id);
}
}